1. Field of the Invention
The present invention relates generally to computer-aided design (CAD) application programs, and in particular, to a method, apparatus, and article of manufacture for providing, accessing, and using properties for objects in a CAD application program.
2. Description of the Related Art
CAD applications are often used to create drawings used in the architectural, engineering, and construction (AEC) industry. The drawings are often defined by a collection (referred to as objects) of one or more graphical elements, such as lines, circles, polylines, text, or dimensions. For example, a collection of various lines may make up a door or window object. CAD programs may treat each object as a single element for creation, manipulation, and modification. Some CAD programs may also provide objects that are special entities with predefined behaviors and display characteristics.
Information relating to an object may be entered and defined in one or more properties of the object. For example, users may have the capability to enter information about the style, dimensions, location, schedule data, and/or other important characteristics of an object.
There are two types of properties, automatic properties and manual properties. Automatic properties are those properties that a program defines for you, such as the width of a door or the length of a wall. Further, some automatic properties may be established by individual objects, while other automatic properties may be established by a style of an object. For example, a number of doors may have the same style but different widths. A Width automatic property would answer differently for each door. However, those same doors may all have the same thickness, since that is a property of the style. A Thickness automatic property would then answer the same way for each door.
Manual properties are those that the user defines and manually applies to an object. Manual properties may be specific to a user's needs, such as a door number, manufacturer, or finish.
Schedules provide access to both automatic and manual properties. A schedule is a tabulation of data extracted from objects in a drawing. Schedule tables provide a graphic representation (e.g., in tabular form) of schedule data extracted from the drawing, and formatted based on rules that may be established in a schedule table style. Schedule tags may also provide special annotation tags that are linked to a drawing object by a schedule anchor, for the purpose of extracting schedule data, and displaying it on the drawing. Thus, schedule tags provide the capability for displaying schedule data in a drawing. The information contained in a schedule may be used to determine the quantity and type of objects needed for a project. For example, a schedule may list the number, size, and manufacturer for the doors in a project.
As used in the prior art, a schedule contains information extracted from the properties of objects. The value of the properties of the object may either be automatically created or manually created. The creation and editing of manually created properties are time consuming and may be conducted frequently. For example, if a door number is manually created for a series of door objects, and one door is then moved or duplicated to a different location, the number must be manually adjusted to reflect the correct information. Further, the numbers for all the doors may also need to be adjusted.
Automatic properties also have many limitations. For example, prior art automatic properties are limited to being defined by the particular object with the property or by the style for the property. Further, a user may desire to have some manual properties automatically determined. For example, a user may desire to have all of the door numbers automatically determined.
In addition to the above-described deficiencies, the prior art fails to provide the capability for an object to obtain property data from different nearby objects or areas. Accordingly, what is needed is a diverse, flexible, property whose value may be automatically determined based on other nearby objects or areas.